---
slug: /getting-started
sidebar_label: Getting Started
title: Introduction
id: getting-started
keywords: ['react-native', 'boilerplate', 'template', 'starter', 'getting started']
---
import VersionReader from '../src/components/VersionReader'
import Tom from '../src/components/Tom'

Welcome to the React Native Boilerplate documentation!
<Tom />

This React Native template project is here to jumpstart your mobile app development journey.
What makes it stand out? Its simplicity, lightweight nature, and scalability.

We've crafted it on a sturdy foundation to ensure easy maintenance, without forcing you into a web of unnecessary dependencies.

Our main goal in designing this boilerplate was to keep things simple and focus on the core principles of React Native,
all while maintaining a clear separation of concerns.

:::tip Don't forget !!
If you find value in this boilerplate, consider giving us a star. It would brighten our day like a ray of sunshine! 🌈☀️
:::

## Features

| Features                                                               | Description                                                                                                                                                                                                                                     |
| ---------------------------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [`Javascript or TypeScript`](/docs/installation#using-the-boilerplate) | Every project, developer, team, and experience is unique. That's why you have the freedom to select either a JavaScript or TypeScript codebase. [The choice is yours!](/docs/installation#using-the-boilerplate)                                |
| [`Navigation`](/docs/navigate)                                         | With [React Navigation](https://reactnavigation.org/), we offer a swift start to your navigation structure through a robust dependency. Check out the details in our [navigation structure documentation](/docs/navigate#navigation-structure). |
| [`Data fetching`](/docs/data-fetching)️                                 | Leveraging [TanStackQuery](https://react-query.tanstack.com/), data fetching has never been this effortless.                                                                                                                                    |
| [`Internationalization`](/docs/internationalization)                   | Our application is fully prepared for multilingual support, all thanks to [React i18next](https://react.i18next.com/).                                                                                                                          |
| [`Multi theming`](/docs/theming/how-to-use)                            | Without any extra dependencies, we offer an easy-to-use and maintainable theme configuration                                                                                                                                                    |
| [`Safe synchrone storage`](/docs/storage)                              | With [React Native MMKV](https://github.com/mrousavy/react-native-mmkv), storing data becomes a breeze, and it can be done securely.                                                                                                            |
| [`Environment`](/docs/environment)                                     | The app comes pre-installed with all the necessary tools for handling simple environment variables                                                                                                                                              |


## Dependencies

As previously mentioned, this boilerplate is intentionally designed to be straightforward and lightweight, steering clear of unnecessary dependencies. It relies on the following key dependencies:

- [React Native](https://reactnative.dev/) (**<VersionReader name="react-native"/>**): Used for building the native app with React.
- [React](https://react.dev/) (**<VersionReader name="react"/>**): Empowers the native app with React.
- [React Native MMKV](https://github.com/mrousavy/react-native-mmkv) (**<VersionReader name="react-native-mmkv"/>**): A highly efficient and compact mobile key-value storage solution.
- [React Navigation](https://reactnavigation.org/) (**<VersionReader name="@react-navigation/native"/>**): Handles routing and navigation within the app, featuring a default splash screen setup.
- [TanStack Query](https://tanstack.com/query/latest) (**<VersionReader name="@tanstack/react-query"/>**): Facilitates data fetching.
- [Ky](https://github.com/sindresorhus/ky) (**<VersionReader name="ky"/>**): Used for making HTTP requests.
- [React i18next](https://github.com/i18next/react-i18next) (**<VersionReader name="react-i18next"/>**): Manages internationalization within your app.

:::info Just for you
This boilerplate comes complete with an example that demonstrates everything from UI components to business logic, showcasing fake user data. We've made it easy for you to remove this example if it doesn't align with your project requirements, ensuring it won't hinder your progress.
:::

## Updates

This boilerplate will stay in sync with the latest React Native releases as soon as the libraries and tools used here become compatible.

Now, prepare yourself for an exhilarating journey with this React Native boilerplate! 🚀
